import { ElMessage } from 'element-plus';

import moment from 'moment'
moment.suppressDeprecationWarnings = true

/* 修改element 默认颜色 */
export const changeBackendColor = () => {
  /* primary */
  document.body.style.setProperty("--el-color-primary", "#333E52");
  /* hover的颜色 */
  document.body.style.setProperty("--el-color-primary-light-3", "#333E52");
  document.body.style.setProperty("--el-color-primary-light-5", '#939FB5');
  document.body.style.setProperty("--el-color-primary-light-9", '#939FB5')
  /* active时的颜色 */
  document.body.style.setProperty('--el-color-primary-dark-2', '#333E52');
}

/* 表格日期列数据过滤 */
export const dateFormatter = (row, column, cellValue) => {
  return moment(cellValue).format('YYYY-MM-DD')
}
/* 表格审核状态列数据过滤 */
export const checkStatusFormatter = (row, column, cellValue) => {
  return cellValue == 0 ? '待审核' : cellValue == 1 ? '已初审' : cellValue == 2 ? '已终审' : cellValue == -1 ? '审核未通过' : ''
}

/* 日期字段数据过滤 */
export const checkStatusFieldFormat = (val) => {
  return val == 0 ? '待审核' : val == 1 ? '已初审' : val == 2 ? '已终审' : val == -1 ? '审核未通过' : ''
}

/* 判断上传的文件类型 */
export const testFileType = (fileList, pattern) => {
  let flag = true
  for(let k in fileList){
    if(k < fileList.length){
      var index= fileList[k].name.lastIndexOf(".");//获取最后一个.的位置
      var ext = fileList[k].name.substr(index+1);//获取后缀
      if(!pattern.test(ext)) {
        flag = false
        ElMessage.error('上传的文件格式错误');
        return flag;
      }
    }
    return flag
  }
}

/* 判断文件大小 */
export const testFileSize = (fileList, size) => {
  let flag = true
  for(let k in fileList){
    if(k < fileList.length){
      if(fileList[k].size > size) {
        flag = false
        ElMessage.error('上传的文件大小超出限制');
        return flag;
      }
    }
    return flag
  }
}

/* 判断附件返回值 */
export const isJsonString = (str) => {
  try {
    const toObj = JSON.parse(str) // json字符串转对象
    if (toObj && typeof toObj === 'object') { 
      return true
    }
  } catch {}
  return false
}


/* 处理附件返回值 */
export const reFileResult = (val) => {
  if(!val) return
  if(!isJsonString(val)) return
  let file = JSON.parse(val)

  if(!file.filePathArray) return

  let str = null

  if(file.filePathArray.length == 1) {
    str = import.meta.env.VITE_APP_STATIC_URL + file.filePathArray[0].CompleteFilePath
  }else {
    str = file.filePathArray
  }
  return str
}